#ifndef CONSTANT_H
#define CONSTANT_H

#include <QString>

/**
 *
 *
 *定义了一些标识性的常量
 *
 */

/**
 * @brief The NodeType enum 网络中节点类型
 */
enum NodeType{Coordinator,Router,EndDevice,NODEFINE};


#define NO_COPY(TYPE) \
    private: \
    TYPE(const TYPE &)

#define NO_ASSIGN(TYPE) \
    private: \
    TYPE& operator =(const TYPE&)



const QString zigbeeSerialPort = "/dev/ttyUSB0";
const QString GSMSerialPort = "/dev/tty1";

const int AT_CMGF_OK = 1;//方式PDU = 0
const int AT_CMGS_OK = 2;//信息长度
const int AT_CMGF_ER = 3;
const int AT_CMGS_ER = 4;
const int AT_SEND_OK = 5;
const int AT_SEND_ER = 6;


//下面不会启用
const int AT_CNMI_OK = 7;
const int AT_CNMI_ER = 8;

const int AT_CMGR_OK = 9;
const int AT_CMGR_ER = 10;

const int AT_CMGD_OK = 11;
const int AT_CMGD_ER = 12;





/**
 * @brief AT_ERROR at指令不可用，model出错
 */
const int AT_ERROR = 7;
/**
 * @brief AT_OK at指令可用
 */
const int AT_OK = 8;


//命令标识,这边存在设计错误，不想改了

const quint8 SENSOR = 0x01; //传感器数据标识
const quint8 NETBUILD = 0x02; //网络建立数据标识
const quint8 TEST = 0x03; //网络维护标识
const quint8 UPDATA = 0x04;//更新拓扑
const quint8 COORDINATOR_TEST = 0x05;//协调器节点测试
const quint8 REALTIME = 0x06; //实时数据


const int LISTWIDGET = 1;
const int TOPOLOGYMAP = 2;
const int LINEGRAP = 3;
const int ArgumentsWidget = 4;


class Parameters {
public:
    /**
     * @brief cmsaddr 短信中心
     */
    static  QString cmsaddr;
    /**
     * @brief phone 接受的电话号码
     */
    static  QString phone;
    /**
     * @brief interval_time 区间的时间，单位为5min
     */
    static int interval_time;

    /**
     * @brief interval 区间，对发送的信息的值进行控制
     */
    static int interval;
    /**
     * @brief TestDuration 循环测试时长
     */
    static int TestDuration;
    /**
     * @brief boundaryValue 边界值
     */
    static int boundaryValue;
    /**
     * @brief spaceTime 下次发送网络命令的间隔时长
     */
    static int spaceTime;

};


//  qDebug() << str.mid(26,12); //号码

// qDebug() << str.mid(42,12);

//  qDebug() << fun(str.mid(42,12));//时间

// qDebug() << str.mid(58);//内容











#endif // CONSTANT_H
